1. Technical Field
The present invention relates to a multi-processor system and a program for causing a computer to execute a controlling method of the multi-processor system, and more specifically to a multi-processor system that improves efficiency by using a plurality of processors and a program for causing a computer to execute a controlling method of the multi-processor system.
2. Related Art
The processor used for a specific device is called a built-in system. Recently, it has been shown that a multi-processor or a multi-thread processor may be used for a built-in system. Such a multi-processor is advantageously used to make the device have a low clock rate or improve the responsiveness of the device. In particular, it is desirable to use a multi-processor in a portable device because the multi-processor is also advantageous in reducing power consumption.
The determination of whether a newly developed processor operates normally or not takes time and has costs. For that reason, in the field of software, if a processor with good performance can be diverted, it is desirably diverted. When the built-in system is used as a multi-processor, it is requested to divert software of a previously used single processor.
A conventional technique for diverting a single processor for a multi-processor is described in JP-A-8-297581 (hereinafter referred to as patent document 1). The invention of the patent document 1 is for transporting an OS (Operating System) for a single processor based on μITRON (registered trademark) to a multi-processor.
A processor may call an OS function that is called as a service call. With the service call, an interruption for a processor or a task switch in the processor can be controlled. The name of a service call is used in μITRON (registered trademark) and may be called as a system call.
However, a multi-processor system cannot be adequately utilized if a system call used in a single processor is diverted in a multi-processor system.
Obviously, the service call (dis_dsp) that prohibits a task switch of a single processor does not assume that tasks operate in parallel. As such, if a task switch is requested and dis_dsp prohibits a task switch, the task switch does not occur until the prior task completes.
The service call (loc_cpu) prohibits an interruption of a single processor and occupies only a single processor. If an interruption is requested and loc_cpu prohibits an interruption, an interruption is never executed until the prior processing completes.
When the above-mentioned service calls, dis_dsp or loc_cpu, are applied, the multi-processor system, which enables parallel operation, cannot fully utilize the resources of the system because the parallel operation is prevented.
The present invention is adapted in view of the above problems and intends to provide a multi-processor system that can smoothly perform parallel processing in the multi-processor system and provide high efficiency by effectively utilizing the resources and providing a controlling method of the multi-processor system.